package com.linkhub.oms.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.linkhub.oms.common.enums.mp.EntryOrderDeliveryMethodEnum;
import com.linkhub.oms.common.enums.mp.PickUpOrderStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 提货申请表
 * </p>
 *
 * @author echo
 * @since 2024-04-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_pick_up_goods_order")
@ApiModel(value="PickUpGoodsOrderEntity对象", description="提货申请表")
public class PickUpGoodsOrderEntity implements Serializable {


    @ApiModelProperty(value = "主键")
    @TableId(value = "Fid", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "入库单号")
    @TableField("Fsys_entry_order_code")
    private String sysEntryOrderCode;

    @ApiModelProperty(value = "用户id")
    @TableField("Fuser_id")
    private String userId;

    @ApiModelProperty(value = "系统供应商id")
    @TableField("Fsys_supplier_id")
    private String sysSupplierId;

    @ApiModelProperty(value = "提货方式：1-供应商自送；2-shipO提货")
    @TableField("Fdelivery_method")
    private EntryOrderDeliveryMethodEnum deliveryMethod;

    @ApiModelProperty(value = "预计提货时间")
    @TableField("Fpredict_delivery_time")
    private LocalDateTime predictDeliveryTime;

    @ApiModelProperty(value = "预计到货日期")
    @TableField("Fpredict_arrival_time")
    private LocalDateTime predictArrivalTime;

    @ApiModelProperty(value = "仓库入库时间")
    @TableField("Fstorage_time")
    private LocalDateTime storageTime;

    @ApiModelProperty(value = "物流公司")
    @TableField("Flogistics_company")
    private String logisticsCompany;

    @ApiModelProperty(value = "物流单号")
    @TableField("Flogistics_odd_number")
    private String logisticsOddNumber;

    @ApiModelProperty(value = "附件名称")
    @TableField("Fattachment_name")
    private String attachmentName;

    @ApiModelProperty(value = "附件key")
    @TableField("Fattachment_oss_key")
    private String attachmentOssKey;

    @ApiModelProperty(value = "提货费")
    @TableField("Ftake_delivery_cost")
    private String takeDeliveryCost;

    @ApiModelProperty(value = "实际提货费")
    @TableField("Freal_take_delivery_cost")
    private String realTakeDeliveryCost;

    @ApiModelProperty(value = "司机名字")
    @TableField("Fdriver_name")
    private String driverName;

    @ApiModelProperty(value = "司机电话")
    @TableField("Fdriver_phone")
    private String driverPhone;

    @ApiModelProperty(value = "车牌")
    @TableField("Flicense_plate")
    private String licensePlate;

    @ApiModelProperty(value = "车型号")
    @TableField("Ftype_of_car")
    private String typeOfCar;

    @ApiModelProperty(value = "提货状态：1-待审核；2-生产中；3-运输中；4-入库中；5-已入库（已上架）；6-已取消;7-已完成")
    @TableField("Fstate")
    private PickUpOrderStatusEnum state;

    @ApiModelProperty(value = "创建时间")
    @TableField("Fcreated_time")
    private LocalDateTime createdTime;

    @ApiModelProperty(value = "修改时间")
    @TableField("Fupdate_time")
    private LocalDateTime updateTime;


    @ApiModelProperty("商品信息")
    @TableField(exist = false)
    private List<EntryOrderLineEntity> orderLines;

    @ApiModelProperty(value = "商家名称")
    @TableField(exist = false)
    private String merchantUserName;


}
